package com.brok1n.app.android.selfstudyartifact.net;

import android.util.Log;

import java.util.ArrayList;

/**
 * Created by brok1n on 2016/10/15.
 * 网络请求管理器
 *  控制所有网络请求
 */

public class NetManager {

    private static NetManager mInstance;
    private NetManager(){};
    /**
     * 获取单实例对象
     * */
    public static NetManager getInstance()
    {
        if ( null == mInstance )
        {
            synchronized ( NetManager.class )
            {
                if ( null == mInstance )
                    mInstance = new NetManager();
            }
        }
        return mInstance;
    }

    /**********************************************************/

    /**
     * 观察者集合
     * */
    private ArrayList<IUpdate> mObserverList = new ArrayList<>();

    /**
     * 添加一个观察者
     * */
    public void registerObserver( IUpdate u)
    {
        if( null != mObserverList && null != u && !mObserverList.contains( u ) )
        {
            mObserverList.add( u );
            Log.e("add", "add a Observer:" + u.getClass().getName() );
        }
    }

    /**
     * 移除一个观察者
     * */
    public void unregisterObserver( IUpdate u )
    {
        if( null != mObserverList &&  u != null && mObserverList.contains(u) )
        {
            mObserverList.remove( u );
            Log.e("remove", "remove a Observer:" + u.getClass().getName() );
        }
    }






}
